2 research outputs found

    Applying Rules for Partitioned Parallelism in OODBMS within an Optimizer Generator Framework

    No full text
    This work presents a rule-based approach for declarative query optimizer generation considering parallel execution in object-oriented databases. The main goal of this work is to provide a framework that can capture relevant aspects of parallel query optimization in a declarative way, combining procedural techniques with the advantages of rule processing. One of those techniques was used for determining repartitioning and selecting the algorithms to evaluate operator in a query tree considering the trade-offs between processing costs and repartitioning costs. This technique was proposed as a procedural algorithm and it was adapted to be used as rules in the context of object-oriented database optimizers. Another algorithm, used for query operator reordering in object-oriented databases, was adapted in order to consider repartitioning cost and was added to the framework. Finally, a new module for processing rules for parallelism extraction was added to the framework, providing a better support for inter-operator parallelism optimization techniques.

    DORS: Database Query Optimizer with Rule Based Search Engine

    No full text
    The database query optimizer is a very important and complex module in database management systems. It receives a query optimization request with a query tree as a parameter and return an optimized execution plan. The query optimization problem is NP-Hard; therefore, there are many proposals of heuristics and techniques for optimization strategies. There are also several data models (e.g objectoriented, relational, object-relational and semi-structured/XML) suitable to store information for different kinds of applications. Several optimization frameworks were proposed with the aim of making easier to build optimizers and reuse design decisions. However, they are tied to some specific language and hard to integrate with other database modules. We propose a design pattern to help the design and construction of a database optimizer. So far, we do not have knowledge about similar work. Context Different types of applications should use a suitable data model. For instance, commercial systems work well with relational data models, CAD/CAM systems need a more expressive data model as the objectoriented, and the Internet with XML [W3C] applications work well with semi-structured data models. Different data models and different kinds of applications require specific implementation of the quer
    corecore